﻿//准备ExtJS环境
Ext.require
(
    [
        'Ext.grid.*',
        'Ext.data.*',
        'Ext.util.*',
        'Ext.state.*',
        'Ext.form.*',
        'Ext.tree.*'
    ]
);

//定义表格控件
Ext.define
(
    'Report.Panel',
    {
        extend: 'Ext.panel.Panel',

        //用于保存Frame对象
        report_frame: null,

        //初始化组件
        initComponent: function ()
        {
            Ext.apply
            (
                this,
                {
                    listeners:
                    {
                        //设置两个指头的滚动
                        render: Common.ScrollableRender
                    },
                    dockedItems:
                    [
                        {
                            xtype: 'toolbar',
                            height: 36,
                            items:
                            [
                                {
                                    iconCls: 'icon-report',
                                    text: '查看报表',
                                    itemId: 'button-report',
                                    scope: this,
                                    disabled: false,
                                    hidden: false,
                                    tooltip: '查看养护汇总表',
                                    handler: this.onReportClick
                                }
                            ]
                        }
                    ]
                }
            );
            this.callParent();
        },

        //处理查看按钮点击事件
        onReportClick: function (button)
        {
            //判断Frame对象是否已经初始化
            if (!this.report_frame)
            {
                //获得Frame对象
                this.report_frame = document.getElementById('frame_report');

                //挂接加载完成事件
                if (this.report_frame.attachEvent)
                {
                    this.report_frame.attachEvent("onload", this.onReportLoad);
                }
                else
                {
                    this.report_frame.onload = this.onReportLoad;
                }
            }

            //设置数据源
            this.report_frame.src = Common.MakeAbsoluteUrl('../Report/MaintainSummaryReport.aspx');

            //禁用按钮
            button.disable(true);

            //设置开始加载
            this.setLoading(true);
        },

        //处理报表加载完成事件
        onReportLoad: function ()
        {
            //获得面板
            var panel = Ext.getCmp('maintainsummary-report');

            //设置停止加载
            panel.setLoading(false);

            //启用按钮
            panel.down('#button-report').enable(true);
        }
    }
);

//挂接环境准备完毕事件
Ext.onReady
(
    function ()
    {
        //初始化快速提示
        Ext.QuickTips.init();

        //设置状态保存提供者（当前设置为Cookie）
        Ext.state.Manager.setProvider( Ext.create( 'Ext.state.CookieProvider', { path: _Current_ActionUrl } ) );

        //初始化附加验证类型
        Common.InitAdditionalValidation();

        //创建表单
        Ext.create
        (
            'Report.Panel',
            {
                id: 'maintainsummary-report',
                width: '100%',
                contentEl: 'frame_report',
                title: '',
                renderTo: 'panel-report'
            }
        );


        //处理创建尺寸变化事件
        $(window).bind
        (
            "resize",
            function ()
            {
                //调整表格宽度
                Common.AdjustGridWidth('maintainsummary-report', 'body_content');
            }
        );

        //调整表格宽度
        Common.AdjustGridWidth('maintainsummary-report', 'body_content');
    }
);
